The present invention relates to a graphic data generating apparatus, a graphic data generation method, and a medium for the same, more particularly relates to a graphic data generating apparatus, a graphic data generation method, and a medium for the same able to be used for comprehensive editing of a script etc. activated in accordance with an operation of a client (user) with respect to a shape and position of a three-dimensional graphic able to be used for expression of an object in a three-dimensional virtual space and with respect to a displayed three-dimensional image.
More specifically, the present invention relates to a graphic data generating apparatus switching (changing) a file scope of an object in a three-dimensional virtual space, a graphic data generating method for the same, and medium for mediating a program executing that method. When a user selects a content to be edited in a xe2x80x9cConductorxe2x80x9d window etc. of a menu screen, a scene graph editing tool in the content preparation software tool operates and displays the nodes referring to the selected file in for example a hierarchical tree format. The set of the nodes referred to by the edited file is called the xe2x80x9cfile scopexe2x80x9d. The present invention relates to a technique for improving the switching of such a file scope.
As a description language capable of comprehensive handling three-dimensional information using the framework of the WWW (World Wide Web) providing various types of information on the Internet, that globally constructed computer network, the VRML (virtual reality modeling language) has been known.
First, an explanation will be given of the historical background up to the development of the VRML.
As an information system able to be used on the Internet, the WWW developed by the Swiss CERN (European Center for Nuclear Research) is known. The WWW was designed to enable text, images, sound, and other multimedia data to be viewed and heard by a hyper text format and asynchronously transfers to personal computers and other terminal equipment information stored in WWW servers based on protocol called HTTP (Hyper Text Transfer Protocol). The WWW is basically comprised of servers and browsers.
A WWW server is comprised of server software known as an HTTP daemon and HTML (Hyper Text Makeup Language) files storing hyper text information. A xe2x80x9cdaemonxe2x80x9d is a program which manages and processes information in the background when working on UNIX.
Hyper text information is expressed by a description language called the HTML. Hyper text is described by HTML by the expression of the logical structure of sentences by format designations known as xe2x80x9ctagsxe2x80x9d surrounded by xe2x80x9c less than xe2x80x9d and xe2x80x9c greater than xe2x80x9d. Links with other information are described by link information known as xe2x80x9canchorsxe2x80x9d. When designating a location of information by anchors, a URL (Uniform Resource Locator) is used.
The protocol for transferring a file described in HTML on a TCP/IP (Transmission Control Protocol/Internet Protocol) network is HTTP. HTTP functions to send a request for transfer of information from a client to a WWW server and transfer hyper text information of an HTML file to the client.
A WWW browser is often used as the environment for uses of the WWW. xe2x80x9cBrowsexe2x80x9d means to freely view. A browser executes the work for inquiring about information to a server in accordance with an operation of a user. A WWW browser is Netscape Navigator (trademark of Netscape Communications Corporation of the U.S.) and other client software. It is possible to use a WWW browser to browse through files, that is, home pages, of WWW servers on the globally expanding Internet, corresponding to a URL, and possible to successively follow back linked home pages to access various sources of information on the WWWxe2x80x94called xe2x80x9cnet surfingxe2x80x9d.
In recent years, the WWW has further expanded. Specifications for description languages for three-dimensional graphics, called VRML, have been formulated enabling description of three-dimensional spaces and setting hyper text links for objects drawn by three-dimensional graphics and enabling a used to successively/access of WWW servers while following back the links. VRML browsers are being developed for displaying three-dimensional spaces described based on such VRML specifications.
Details of VRML are described for example in the reference xe2x80x9cVRML o Shiru: 3-Jigen Denno Kukan no Kochiku to Buraujingu (Learn About VRML: Building and Browsing Three-Dimensional Computer Space)xe2x80x9d, written by Mark Pesce, translated by Koichi Matsuda, Terunao Kamachi, Shoichi Takeuchi, Yasuaki Honda, Junichi Toshimoto, Masayuki Ishikawa, Ken Miyashita, and Kazuhiro Hara, first edition published Mar. 25, 1996, published by Prentis Hall, ISBN4-931356-37-0 (original work: xe2x80x9cVRML: Browsing and Building Cyberspacexe2x80x9d, Mark Pesce, 1995 New Readers Publishing, ISBN 1-56205-498-8) and the reference xe2x80x9cVRML no Saishin Doko to CyberPassage (Recent Trends in VRML and CyberPassage)xe2x80x9d, Koichi Matsuda and Yasuaki Honda, bit (published by Kyoritsu)/1996, Vol. 28, No. 7, pp. 29 to 36, No. 8, pp. 57 to 65, No. 9, pp. 29 to 36, and No. 10, pp. 49 to 58).
The formal and complete specifications in xe2x80x9cThe Virtual Reality Modeling Language Version 2.0xe2x80x9d, ISO/IEC CD 14772, Aug. 4, 1996 are disclosed at the following home page address:
http://www.vrml.org/Specifications/VRML2.0/FINAL/spec/ind ex.html
The Japanese language version is disclosed at the following home page address:
http://www.webcity.co.jp/info/andoh/vrml2.0/spec-jp/index.html
As a VRML 2.0 browser and shared server software, for example, the present applicant, Sony Corporation, has developed and is marketing xe2x80x9cCommunity Place (trademark) Browser/Bureauxe2x80x9d. The xcex2-version (test version) can be downloaded from the Internet home page http://vs.sony.co. jp).
In the VRML 2.0, it is possible to describe and express autonomous behavior of an object in a three-dimensional virtual space. When using VRML 2.0 to prepare VRML content where an object moves around in a three-dimensional virtual space, normally the following process of work is undergone. Note that below the set of a VRML file, script file, etc. for realizing behaviors of a series of objects in a single virtual space is called xe2x80x9cVRML contentxe2x80x9d.
The general routine for preparing VRML content is described below.
(1) Preparation of Model
The shape, position, etc. of an object (model) arranged in a virtual space are described based on VRML 2.0 to prepare a basic VRML file.
(2) Description of Sensor Node
TouchSensors generating events in the case of click operation by a mouse (pointing operation) on objects in the virtual space, a TimeSensor generating an event when a predetermined time arrives, and other sensor nodes are added to the VRML file.
(3) Description of Routing
The description of the routing for transmission of events generated in accordance with pointing operations with respect to objects to which sensor nodes have been added is added to the VRML file.
(4) Description of Script Node
The description of a script node for transfer of events transmitted by the routing to and from an external script is added to the VRML file.
(5) Preparation of Script File
A script (program) in the Java language (Java is a trademark of Sun Microsystems of the U.S.) for realizing predetermined behavior for objects in the virtual space based on events transmitted through the script node is described to prepare a script file.
The desired VRML content is prepared by the process of description of the above (1) to (5).
When desiring to prepare VRML content accompanying the autonomous behavior of an object in a virtual space based on VRML 2.0, an existing authoring software, called a modeler, for example, 3D Studio Max (trademark), or other software is used to prepare the shape of the object or animation and output the same in the VRML 2.0 format. When the modeler does not support the VRML 2.0 format, it is necessary to use a converter etc. to convert to the VRML 2.0 format.
Further, descriptions of various sensor nodes etc. defined by the VRML 2.0 are added to the VRML file using a text editor, scripts in the Java language are prepared using a text editor, corresponding script nodes are added, routes are added, etc. repeatedly.
Finally, when confirming the actual operation, a VRML browser compatible with VRML 2.0 is activated and the behavior of the object is confirmed by a click operation by a mouse etc.
This method of preparing VRML content features an extremely large amount of complicated work and remarkably poor work efficiency. For example, when adding a field to a script node, it is necessary to revise both the script file and the VRML file. Further, it is necessary to maintain a match between the two.
When designating routing of an event as well, further, it is necessary to ensure a match of the type of the event (format of data). If the format of description of the event etc. is mistaken, when reading by a VRML browser, a composition error will arise and it is necessary to again revise the file. Further, each time a node is added, re-reading by the VRML browser is necessary, so the work efficiency is extremely poor.
Points have been found in the performance of the interactive operation in the conventional method which should be improved. One example of a defect in the interaction is the trouble and inefficiency of the confirmation operation when preparing a world. FIG. 1 is a flow chart of the routine of a conventional method of preparation of a world. The production of the world is classified in two parts. In the first, the model is produced, and in the second, the interaction is produced. Details will be discussed later in comparison with embodiments of the present invention, but while confirmation is necessary when preparing a world, in the conventions method of preparation shown in FIG. 1, as illustrated at step 108, it is necessary to separately use a VRML browser. That is, each time an user is confirming an object in a three-dimensional space expressed by a revised VRML file, it is necessary to activate a VRML browser and designate reading of the revised VRML file or, even when a VRML browser has already been activated, to designate repeat reading of the revised file. The work efficiency in preparing the VRML content was therefore extremely poor.
Further, when a user selects a content to be edited in a xe2x80x9cConductorxe2x80x9d window etc. which will be explained later of a menu screen, a scene graph editing tool in the content preparation software tool operates and displays the nodes referring to the selected file in for example a hierarchical tree format. The set of the nodes referred to by the edited file is called the xe2x80x9cfile scopexe2x80x9d. It has been desired to improve the switching of such a file scope.
An object of the present invention is to provide a graphic data generating apparatus, a graphic data generating method, and a medium storing a program for execution of the graphic data generating method which realize improved file scope processing able to switch file scopes of an object in a virtual space without error and while maintaining a match.
According to a first aspect of the present invention, there is provided a graphic data generating apparatus comprising a display processing means for displaying a three-dimensional object in an editing window of a display device; an operation instructing means for giving an operation instruction for a displayed object; and a file scope processing means for processing a file scope comprising a set of nodes of a program referred to by a file to be edited, the file scope processing means co-operating with the display processing means and processing the file scope based on an operation instruction given by the operation instructing means.
Preferably, the file scope processing means limits the nodes covered by the editing to the file scope displayed in the window.
According to a second aspect of the present invention, there is provided a graphic data generating apparatus comprising a display processing means for displaying a three-dimensional object in an editing window of a display device; an operation instructing means for giving an operation instruction for a displayed object; a node preparing means for preparing nodes of a program for realizing an event generated in response to an operation instruction from the operation instructing means with respect to a displayed object; and a match holding means for changing the substance of objects and nodes based on a change of substance in any of the objects and nodes in a scope referring to other objects and other nodes or referred to by other objects and nodes to hold the match.
Preferably, further there is provided an editing means for editing the prepared objects and nodes; a selecting means for selecting one of the graphic objects and nodes in response to an operation instruction of the operation instructing means; and an editing coverage restricting means for restricting the coverage of the editing to within a scope including the selected one of the objects and nodes.
Preferably, there is provided a selecting means for selecting one of the graphic objects and nodes in response to an operation instruction of the operation instructing means, and the display processing means operates linked with the selecting means and displays the objects and nodes in the scope including the selected one of the objects and nodes.
Preferably, the match holding means has a first processing means for changing all corresponding data transfer portions of objects and nodes in the same scope to conform with a changed data transfer portion when there is a change in a data transfer portion in one of the graphic objects and nodes transferring data between objects and nodes and a second processing means for changing names of objects and nodes in the same scope so as to be referred to be different names with each reference when objects and nodes are referred to overlappingly by the same node in the said object and node.
According to a third aspect of the present invention, there is provided a graphic data generating method corresponding to the first aspect, that is, a graphic data generating method including the steps of: displaying a three-dimensional data generating method in an editing window of a display device and processing a file scope, comprised of a set of nodes of a program referred to by a file being edited, based on an operation instruction.
Preferably, in the file scope processing, the nodes covered by the editing are limited to the file scope displayed in the window.
According to a fourth aspect of the present invention, there is provided a graphic data generating method corresponding to the second embodiment, that is, a graphic data generating method including the steps of: displaying a three-dimensional object in an editing window of a display device, preparing a program for realizing an event generated in response to an operation on the displayed object, and maintaining a match by changing the substance of objects and nodes based on a change in substance in one of the objects and nodes in a scope referring to other objects and nodes or referred to by other objects and nodes.
Preferably, a medium for mediating the program edits the prepared objects and nodes, selects one of the nodes and nodes in accordance with an operation instruction, and includes the selected one of the objects and nodes in the coverage of the editing.
More preferably, the method includes the steps of: selecting one of the objects and nodes in response to an operation instruction and displaying objects and nodes in a scope containing the selected one of the objects and nodes.
More preferably, the medium for mediating the program performs a first processing for changing all corresponding data transfer portions of objects and nodes in the same scope to conform with a changed data transfer portion when there is a change in a data transfer portion in one of the graphic objects and nodes transferring data between objects and nodes and performs a second processing for changing names of objects and nodes in the same scope so as to be referred to be different names with each reference when objects and nodes are referred to overlappingly by the same node in the said object and node or performs one of the same.
According to a fifth aspect of the present invention, there is provided a medium for mediating a program corresponding to the third aspect, that is, a medium for mediating a program for executing a graphic data generating method including the steps of: displaying a three-dimensional object in an editing window of a display device and processing a file scope comprising a set of nodes of a program referred to by a file being edited based on an operation instruction.
The medium for mediating the program preferably includes a program limiting the nodes being edited to the file scope displayed in the window in the file scope processing.
According to a sixth aspect of the present invention, there is provided a medium for mediating a program corresponding to the fourth aspect, that is, a medium for mediating a program executing a graphic data generating method including the steps of displaying a three-dimensional object in an editing window of a display device; preparing nodes of a program for realizing an event generated in response to an operation instruction with respect to a displayed object; and changing the substance of objects and nodes based on a change of substance in any of the objects and nodes in a scope referring to other objects and other nodes or referred to by other objects and nodes to hold a match.
The medium for mediating the program preferably edits the prepared objects and nodes; selects one of the objects and nodes in response to an operation instruction; and restricts the coverage of the editing to within a scope including the selected one of the objects and nodes.
Preferably, the medium for mediating the program includes a program for displaying the objects and nodes in a scope including the one of the objects and nodes selected in response to the operation instruction.
The medium for mediating the program further preferably contains a program performing a first processing for changing all corresponding data transfer portions of objects and nodes in the same scope to conform with a changed data transfer portion when there is a change in a data transfer portion in one of the graphic objects and nodes transferring data between objects and nodes, and performs a second processing for changing names of objects and nodes in the same scope so as to be referred to be different names with each reference when objects and nodes are referred to overlappingly by the same node in the said object and node or performs one of the same.
The program is mediated in a computer system or is transferred through a network including a server apparatus.
Preferably, the editing covers editing at the time of routing and preparing a script, and the file scope is defined as a hierarchical tree structure.
More preferably, the file is a VRML file.